package com.springboot.file.filebase;

import com.springboot.file.FileException;
import com.springboot.file.filedto.ByteStreamFileDto;
import com.springboot.file.filedto.MultipartFileDto;

/**
 * @Classname FileStorageInterface
 * @Description  文件存储
 * @Version 1.0.0
 * @Date 2024/1/8 16:02
 * @Created by zyj
 */
public interface IFileStorageInterface {

    /**
     * 上传MultipartFile 文件
     */
    String uploadMultipartFile(MultipartFileDto multipartFileDto) throws FileException;

    /**
     * 下载文件
     */
    byte[] downloadFile(String filePath) throws FileException;


    /**
     * 删除文件
     */
    boolean deleteFile(String filePath) throws FileException;


    /**
     * 获取文件链接
     */
    String getFileLink(String filePath) throws FileException;


    /**
     * 获取文件路径
     */
    String getDomain();
}
